package com.wyj.scheduledExecutor;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.concurrent.ScheduledFuture;

/**
 * @author ：wyj
 * @description：这里是我们的项目启动后加载一些 或者业务逻辑
 * @date ：2022/11/1 9:04 下午
 */
@Component
@Order(10)
public class RedoDiscussPostScore implements CommandLineRunner {
    
    @Autowired
    ThreadPoolTaskScheduler threadPoolTaskScheduler;

    @Override
    public void run(String... args) throws Exception {

        Runnable task = new Runnable() {
            @Override
            public void run() {
                //获取到所有的帖子的id


                //每个id对应的帖子的话 我们执行以下逻辑更新该帖子的分数（查询的话我们将其这个的对该贴的店点赞数 以及对
                //评论数）


                //调用我们新的查询的sql按我们的分数进行排序 取我们分数比较高的前十位 将其更新到我们的缓存当中去


            }
        };

        Date date = new Date(System.currentTimeMillis() + 1);//延时1秒执行并且的的 每隔一段时间30分钟的话再执行。
        threadPoolTaskScheduler.scheduleAtFixedRate(task,date,1000*60*30);
    }
}
